Increasingly, there is a demand for increasing availability and uptime of systems for the storage, warehousing, and analysis of data.
Frequently, when changes are required to a data system, such as a database, and particularly when changes are required to the manner in which data is stored or organized, or additions are made to the format of data, the system must be taken offline, brought down, or otherwise temporarily made unavailable to users. For example, if a database schema needs to be updated or upgraded, this has typically required downtime for the entire data repository.
Users desiring access to the data system are frustrated by the unavailability of the data system, for example, they frequently need access to the data system to perform their job responsibilities. Downtime is particularly problematic for distributed and “cloud”-based repositories, as it is difficult for cloud providers to schedule downtime acceptable to all their customers or users, for example. More generally, most customers of cloud-based services and data systems, and particularly enterprise customers, may expect substantially continuous availability with virtually no downtime.
There is a need, therefore, for an improved method, article of manufacture, and apparatus for making changes to the organization of data in data systems, and for making additions to the data stored in data systems, while minimizing if not eliminating the amount of time that the system is unavailable to users.